package com.ruoyi.web.controller.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("enterprise_info")
public class EnterpriseInfo {
    @TableId
    private Long id;
    // 企业信用代码
    @ExcelProperty(value = "企业信用代码")
    private String creditCode;
    // 注册号
    @ExcelProperty(value = "注册号")
    private String registrationNumber;
    // 企业名称
    @ExcelProperty(value = "企业名称")
    @NotNull(message = "企业名称不能为空")
    private String name;
    // 企业状态
    @ExcelProperty(value = "企业状态")
    private String status;
    // 法人
    @ExcelProperty(value = "法人")
    @NotNull(message = "法人不能为空")
    private String legalRepresentative;
    // 成立日期
    @ExcelProperty(value = "成立日期")
    private String establishmentDate;
    // 最后做年报时间
    @ExcelProperty(value = "最后做年报时间")
    private String lastAnnualReportDate;
    // 省
    @ExcelProperty(value = "省")
    private String province;
    // 市
    @ExcelProperty(value = "市")
    private String city;
    // 手机号
    @ExcelProperty(value = "法人手机号")
    @NotNull(message = "手机号不能为空")
    private String phoneNumber;
    // 其他手机号
    @ExcelProperty(value = "其他手机号")
    private String otherPhoneNumber;
    // 最后年报的手机
    @ExcelProperty(value = "最后年报的手机")
    private String lastReportPhone;
    // 企业地址
    @ExcelProperty(value = "企业地址")
    private String address;
    // 是否经营异常
    @ExcelProperty(value = "是否经营异常")
    private String operatingAbnormally;
    // 年报过滤状态
    @ExcelProperty(value = "年报过滤状态")
    private String annualReportFilterStatus;
    // 运营商类型
    @ExcelProperty(value = "运营商类型")
    private String operatorType;
    // 是否成单
    @ExcelProperty(value = "是否成单")
    private String orderCompleted;
    // 来源
    private String source;
    // 短链
    private String shortLink;
    // 长链
    @NotNull(message = "长链字段不能为空")
    private String longLink;
    // 创建时间
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate createdAt;
    // 更新时间
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate updatedAt;
    // 创建者
    private String createdBy;
    // 更新者
    private String updatedBy;
    // 备注
    @ExcelProperty(value = "备注")
    private String remark;
    private String jsonData;
    // 是否删除
    private Boolean deleted;
    // 文件id
    private Long fileId;
    // 用户id
    private Long userId;

    public EnterpriseInfo(Long id, String longLink) {
        this.id = id;
        this.longLink = longLink;
    }
}
